Skip to main content

Chains

Chains are added by the centurionV2-worker syncChains function from the package api3/dapi-management and are listed on the Chains page.

Chains > Details > Configuration

  • Chains: List of all chains.
  • Details: Show three tabs of chain related information, Active feeds, Fee data, and Airseeker gas averages.
  • Configuration: Maintain chain configuration properties.

Chain details

Three tab page that shows available details about a chain. Access to the chain's configuration is available in hte top menu bar.

Active feeds

A list of feeds that are active in the Airseekerregistry contract for the chain and the latest status for each.

Fee data

The gasWorker stores the feeData from each chain into the Postgres database table GAS every minute but only retains the last two hours of data per chain. Most chains return the full set of fee data as follows:

  • gasPrice:
  • maxFeePerGas:
  • lastBaseFeePerGas:
  • maxPriorityFeePerGas:

The gasPrice and/or maxFeePerGas are good indicators that gas prices may be spiking for a chain. Such spikes could be indicators of Airseeker failures to update prices when needed. Check tht Airseeker Loki logs for gas price warnings.

Airseeker gas averages

Displays a graph of the day's average gas price for the chain. The data comes is generated daily by Airseeker. See https://api3dao.github.io/logdata-miner/update-fee-v2.json.

Chain configuration

Contains a textarea of the JSON object that lists the configuration and status keys of a chain. The ability to change the chain's behavior is applied only through a few keys. The remainder of the keys are data that is changed by one or more workers.

Only the enabled, statuses and providers keys can be changed. Changes to the other keys are ignored. The other keys are only present for the purpose of review.

Access the configuration page after logging in as an admin. From the chain's detail page, look for the button with the cog icon.

{
"chain_id": 4,
"network_id": 43114,
"name": "Avalanche",
"testnet": false,
"alias": "avalanche",
"enabled": true,
"stage": "active",
"symbol": "AVAX",
"providers": {
"rpc": {
"https://api.avax.network/ext/bc/C/rpc": {
"health": true,
"blockNumber": 48305231
}
}
},
"statuses": {
"pyth": 0,
"error": 0,
"active": 1,
"warning": 0,
"heartbeat": 0,
"signed_data": 0,
"redstone_api": 0,
"nodary_signed_api": 0
},
"explorer": {
"api": {
"key": {
"required": true,
"hardhatEtherscanAlias": "avalanche"
},
"url": "https://api.routescan.io/v2/network/mainnet/evm/43114/etherscan/api"
},
"browserUrl": "https://snowtrace.io/"
}
}

You must change the JSON object using the Textarea field and Submit button. Some knowledge of a JSON object is assumed. The page will display errors made to the JSON syntax after submission if they are present.

enabled

The chain must be enabled:true or workers will no include it in their work cycles.

providers.rpc

One or more RPC providers that provide a URL for access to the chain. When adding a new provider use health:true and blocknumnber:0.

statues

In the rare event that a chain is changed from enable:true to enables:false it may be necessary to set each sub key's value to 0. This will be noticeable if the chain's statues do not zero out automatically.